package entidades;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.hibernate.annotations.Type;


@Entity
@Table(name="Ausencias")
public class Ausencia implements Serializable{
	
	
	private static final long serialVersionUID = 1L;

	@Id @GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="ID_AUSENCIA", nullable=false)
	private int idAusencia;
	
	@Temporal(TemporalType.DATE)
	@Column(name="FECHA", nullable=false)
	private Date fecha;
	
	@Column(length=1,name="JUSTIFICADA")
	@Type(type="yes_no")
	private Boolean justificada;
	
	@Column(length=800,name="NOTAS")
	private String notas;
	
	@OneToOne(fetch=FetchType.LAZY)
	@JoinColumn(name="ID_PROYECTO", nullable=false)
	private Proyecto proyecto;
	
	@OneToOne(fetch=FetchType.LAZY)
	@JoinColumn(name="ID_OBRERO", nullable=false)
	private Obrero obrero;
	
	
	public Ausencia(){
		
	}

	
	public int getIdAusencia() {
		return idAusencia;
	}

	public Date getFecha() {
		return fecha;
	}

	public Boolean getJustificada() {
		return justificada;
	}

	public String getNotas() {
		return notas;
	}

	public Proyecto getProyecto() {
		return proyecto;
	}

	public Obrero getObrero() {
		return obrero;
	}

	public void setIdAusencia(int idAusencia) {
		this.idAusencia = idAusencia;
	}

	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}

	public void setJustificada(Boolean justificada) {
		this.justificada = justificada;
	}

	public void setNotas(String notas) {
		this.notas = notas;
	}

	public void setProyecto(Proyecto proyecto) {
		this.proyecto = proyecto;
	}

	public void setObrero(Obrero obrero) {
		this.obrero = obrero;
	}


}

